package GUI.Visualizacion;

import com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel;
import java.awt.*;
import java.awt.image.*;
import javax.swing.*;

public class Ventana extends JFrame{


    private JTextField txtComandos;
    private JLabel lblComandos;
    private JLabel lblEstado;
    private JLabel lblPosicion;
    private JFileChooser fchGuardar;
    private JButton btnPasar;
    private Escenario escMapa;
    private GrillaVertical gvGrillaVertical;
    private GrillaHorizontal ghGrillaHorizontal;
    private JMenuBar mnbBarraMenu;
    private String mensaje;
    private JPopupMenu popup;
    private PanelExterno pnlExterno;
    private PanelInterno pnlInterno;

    public PanelExterno getPnlExterno() {
        return pnlExterno;
    }

    public void setPnlExterno(PanelExterno pnlExterno) {
        this.pnlExterno = pnlExterno;
    }

    public PanelInterno getPnlInterno() {
        return pnlInterno;
    }

    public void setPnlInterno(PanelInterno pnlInterno) {
        this.pnlInterno = pnlInterno;
    }
    public Ventana() throws UnsupportedLookAndFeelException{
         setDefaultLookAndFeelDecorated(true);
         UIManager.setLookAndFeel(new NimbusLookAndFeel());
         setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
    }

    public void setPopup(JPopupMenu popup){
        this.popup=popup;
    }

    public JPopupMenu getPopup(){
        return popup;
    }

//    public JFileChooser getFchGuardar() {
//        return fchGuardar;
//    }
//
//    public void setFchGuardar(JFileChooser fchGuardar) {
//        this.fchGuardar = fchGuardar;
//    }
//
    public JLabel getLblPosicion() {
        return lblPosicion;
    }

    public void setLblPosicion(JLabel lblPosicion) {
        this.lblPosicion = lblPosicion;
    }
//
//
    public JLabel getLblEstado() {
        return lblEstado;
    }

    public void setLblEstado(JLabel lblEstado) {
        this.lblEstado = lblEstado;

    }

    public GrillaHorizontal getGhGrillaHorizontal() {
        return ghGrillaHorizontal;
    }

    public void setGhGrillaHorizontal(GrillaHorizontal ghGrillaHorizontal) {
        this.ghGrillaHorizontal = ghGrillaHorizontal;
    }

    public GrillaVertical getGvGrillaVertical() {
        return gvGrillaVertical;
    }

    public void setGvGrillaVertical(GrillaVertical gvGrillaVertical) {
        this.gvGrillaVertical = gvGrillaVertical;
    }

//    public JButton getBtnPasar() {
//        return btnPasar;
//    }
//
//    public void setBtnPasar(JButton btnPasar) {
//        this.btnPasar = btnPasar;
//    }
//
//    public JLabel getLblComandos() {
//        return lblComandos;
//    }
//
//    public void setLblComandos(JLabel lblComandos) {
//        this.lblComandos = lblComandos;
//    }
//
    public JMenuBar getMnbBarraMenu() {
        return mnbBarraMenu;
    }

    public void setMnbBarraMenu(JMenuBar mnbBarraMenu) {
        this.mnbBarraMenu = mnbBarraMenu;
    }

    public Escenario getEscMapa() {
        return escMapa;
    }

    public void setEscMapa(Escenario pnlMapa) {
        this.escMapa = pnlMapa;
    }

//    public JTextField getTxtComandos() {
//        return txtComandos;
//    }
//
//    public void setTxtComandos(JTextField txtComandos) {
//        this.txtComandos = txtComandos;
//    }
//
//    public String getMensaje(){
//        return mensaje;
//    }
//
//    public void setMensaje(String mensaje){
//        this.mensaje=mensaje;
//    }
//
//    public void limpiaMensaje(){
//        this.mensaje=null;
//    }



    public void dibujar(BufferStrategy bf) {
        Graphics2D g;
        try {
            g=(Graphics2D)bf.getDrawGraphics();
            paintComponents(g);
            g.dispose();
        }
        catch(Exception e){
        }
	bf.show();
        Toolkit.getDefaultToolkit().sync();
    }

}
